package busterminalweb.action.user;

import busterminalweb.action.Action;
import busterminalweb.action.ActionManager;
import busterminalweb.action.ActionResult;
import busterminalweb.authorization.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UserLogout implements Action {

    /**
     * Константа для авторизации пользователя
     */
    private final static String USER_AUTH = "userAuth";

    @Override
    public ActionResult execute(HttpServletRequest request, HttpServletResponse response) {
        User user = (User) request.getSession().getAttribute(USER_AUTH);

        if (ActionManager.isActionAllowed("user.logout", user.getRole())) {
            request.getSession().invalidate();
        }

        //main - это action, который никак сервлетом не обрабатывается,
        //т.е. открывается главная страница
        return ActionResult.redirect("main");
    }

    @Override
    public String getName() {
        return "user.logout";
    }
}
